package com.gun.management.module.task.api;

import com.gun.management.module.task.api.dto.TaskReqDTO;

/**
 * 任务 API 接口
 *
 * @author jimmy
 */
public interface TaskApi {


    /**
     * 实名认证后奖励积分
     *
     * @param reqDTO
     * @return
     */
    Boolean rewardPointAfterAuthed(TaskReqDTO reqDTO);

    /**
     * 受邀人授信通过奖励积分
     *
     * @param reqDTO
     * @return
     */
    Boolean rewardPointAfterGranted(TaskReqDTO reqDTO);


    /**
     * 受邀人完成提款奖励积分
     *
     * @param reqDTO
     * @return
     */
    Boolean rewardPointAfterWithdrawal(TaskReqDTO reqDTO);


    /**
     * 积分任务（参与活动）通知奖励积分
     *
     * @param reqDTO
     * @return
     */
    Boolean rewardPointAfteJoinActivity(TaskReqDTO reqDTO);


    /**
     * 当前用户注销 通知清除剩余积分
     *
     * @param reqDTO
     * @return
     */
    Boolean clearPointAfteSignOff(TaskReqDTO reqDTO);

    /**
     * 当前用户注册成功 通知并给上级用户奖励积分
     *
     * @param reqDTO
     */
    Boolean rewardPointAfterRegistered(TaskReqDTO reqDTO);
}
